package outputstream01;

import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;

/**
 *  FileOutputStream成员方法:
 *    void write(byte[] b)
 *           将 b.length 个字节从指定 byte 数组写入此文件输出流中。
 *    void write(byte[] b, int off, int len)
 *            将指定的字节数组(b),从off索引开始,写入len个字节(包含off索引处的字节)
 *
 * String类中的方法
 *  byte[] getBytes()
 *           使用平台的默认字符集将此 String 编码为 byte 序列，并将结果存储到一个新的 byte 数组中。
* */
public class FileOutputStream02 {
    public static void main(String[] args) throws IOException {
        method01();
        method02();
        method03();
    }

    private static void method03() throws IOException {
        FileOutputStream fos = new FileOutputStream("day23/2.txt");
        byte[] bytes = {97,98,99,98};  // abcd
        fos.write(bytes,1,2); // 写入 bc
        fos.close();
    }

    private static void method02() throws IOException {
        FileOutputStream fos = new FileOutputStream("day23/2.txt");
        fos.write("ABCD".getBytes());
        // "ABCD".getBytes()将ABCD这个字符串按照默认码表转换为字节，转换后的字节存储到一个字节数组中
        //然后返回这个字节数组
        fos.close();
    }

    private static void method01() throws IOException {
        FileOutputStream fos = new FileOutputStream("day23/2.txt");
        byte[] bytes = {65,66,67,68};
        fos.write(bytes);
        fos.close();
        // 创建好2.txt文件，并且写入 ABCD
    }
}
